package main

import "fmt"

// 删除有序数组中的重复项
// https://leetcode.cn/problems/remove-duplicates-from-sorted-array/?envType=study-plan-v2&envId=top-interview-150
// 原地 原地（需要交换）
// 严格递增
func main() {
	nums := []int{0, 0, 1, 1, 1, 2, 2, 3, 3, 4}
	// nums := []int{1, 1, 2}
	k := removeDuplicates(nums)
	fmt.Println(k)
	fmt.Println(nums)
}

func removeDuplicates(nums []int) int {
	left := 0
	for right := 1; right < len(nums); right++ {
		if nums[right] == nums[left] {
			continue
		}

		left++
		nums[left] = nums[right]
	}

	return left + 1
}
